智能查询处理 (IQP) 功能系列包含的功能可以提升现有工作负载的性能,同时最大限度地减少实现工作量。
1、次要副本的查询存储
次要副本上的查询存储在可用于主要副本的次要副本工作负荷上启用相同的查询存储功能。 在次要副本的查询存储中了解详细信息。
2、查询存储提示
查询存储提示利用查询存储提供在不更改应用程序代码的情况下制定查询计划的方法。 查询存储提示以前仅在 Azure SQL 数据库和 Azure SQL 托管实例上可用,现在可在 SQL Server 2022 (16.x) 中使用。 需要启用查询存储并处于“读写”模式。
3、内存授予反馈
内存授予反馈可根据过去的性能调整为查询分配的内存大小。 SQL Server 2022 (16.x) 引入了百分位数和持久性模式内存授予反馈。 需要启用查询存储。
(1)持久性:通过此功能,可将给定缓存计划的内存授予反馈保留在查询存储中,以便可在缓存逐出后重复使用反馈。 持久性有利于内存授予反馈以及新的 DOP 和 CE 反馈功能。
(2)百分位数:新算法提高了内存需求波动较大的查询的性能,它使用前几次查询执行的内存授予信息,而不仅仅是前一个查询执行的内存授予信息。 需要启用查询存储。 自 SQL Server 2022 CTP 2.1 起,新创建的数据库默认启用查询存储。
4、参数敏感计划优化
自动为单个参数化语句启用多个活动缓存计划。 缓存执行计划根据客户提供的运行时参数值适应大不相同的数据大小。
5、并行度 (DOP) 反馈
新的数据库范围配置选项 DOP_FEEDBACK 会自动调整重复查询的并行度,以针对并行度低可能导致性能问题的工作负载进行优化。 类似于 Azure SQL 数据库中的优化。 需要启用查询存储并处于“读写”模式。
从 RC 0 开始,每个查询重新编译 SQL Server 使用现有反馈将查询的运行时统计信息与现有反馈进行比较。 如果性能不同或更佳,我们将清除所有 DOP 反馈,并从编译的 DOP 开始触发对查询的重新分析。
6、基数估计反馈
如果这些问题是由不正确的估计模型假设引起的,则识别并更正重复查询的次优查询执行计划。
7、优化了计划强制
使用编译重播通过预缓存不可重复的计划编译步骤来改进强制计划生成的编译时间。